package org.formal.system.service;

import org.formal.common.base.BaseService;
import org.formal.system.entity.UserEntity;
import org.formal.system.entity.UserRoleEntity;

/**
 * 用户信息接口
 * @author jiangyan
 *
 */
public interface UserService extends BaseService<UserEntity> {

	 
	 /**
	  * 根据用户名查询数据（用户名必须唯一）
	  * @param username
	  * @return
	  */
	 UserEntity selectByUsername(String userName);
	 
     /**
      * 根据用户名和密码进行登录验证
      * @param name
      * @param password
      * @return
      */
	 UserEntity login(String name, String password);
	 
	/**
	 * 保存用户信息及相关联角色 
	 * @param entity
	 */
	void saveUserWithRoles(UserEntity entity);
	
	/**
	 * 给用户设置默认角色
	 * @param userId 用户id
	 * @param roleId 角色id
	 * @return
	 */
	void setDefaultRole(String userId, String roleId);
	
	/**
	 * 根据用户获取默认角色
	 * @param userId 
	 * @return
	 */
	UserRoleEntity getDefaultRole(String userId);
}
